package com.seo.service.keyword.sdk;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.seo.pojo.ReturnBody;

/**
 * NewStationService
 * @author shibeilei
 * @version 2017.12.06 15:42
 *
 */
public interface NewStationService {

	/**
	 * 新站网站列表
	 * @param param param
	 * @return List<Map<String, Object>>
	 */
	List<Map<String, Object>> getNewDomainList(Map<String, Object> param);

	/**
	 * 新增新站网站admin
	 * @param params params
	 * @return ReturnBody
	 */
	ReturnBody saveNewKeywordsDomain(Map<String, Object> params);

	/**
	 * 编辑新站网站
	 * @param params params
	 * @return ReturnBody
	 */
	ReturnBody updateNewKeywordsDomain(Map<String, Object> params);

	/**
	 * 修改网站状态
	 * @param param param
	 * @return ReturnBody
	 */
	ReturnBody updateDomainState(Map<String, Object> param);

	/**
	 * 网站关键词新增
	 * @param param param
	 * @return ReturnBody
	 */
	ReturnBody saveDomainKeyWordToAdmin(Map<String, Object> param, String serviceType);

	/**
	 * 新增新站网站 用户
	 * @param params params
	 * @return ReturnBody
	 */
	ReturnBody saveNewKeywordsDomainCustomer(Map<String, Object> params);

	/**
	 * 新增网站关键词 用户
	 * @param param param
	 * @return ReturnBody
	 */
	ReturnBody saveDomainKeyWordToCustomer(Map<String, Object> param);
	
	/**
	 * 新站关键词列表
	 * @param pam
	 * @return
	 */
	List<Map<String, Object>> getKeyWordsList(Map<String, Object> pam);
	
	/**
	 * 根据用户id查询此用户所有分组
	 * @param pam
	 * @return
	 */
	List<Map<String, Object>> getGroupByUserId(Integer userId);
	
	/**
	 * 修改价格和类型
	 * @param pam
	 * @return
	 */
	ReturnBody updatePriceAndTargetRanking(Map<String, Object> pam);
	
	/**
	 * 修改价格和类型
	 * @param pam
	 * @return
	 */
	ReturnBody updateChaildPrice(Map<String, Object> pam);
	
	/**
	 * 删除
	 * @param pam
	 */
	void deleteArr(Map<String, Object> pam);
	
	/**
	 * 关键词停用启用
	 * @param pam
	 */
	void updatekeyWordReviewDisabled(Map<String, Object> pam);
	
	/** 批量修改厂商
	 * @param pam
	 */
	ReturnBody updateVender(Map<String, Object> pam);
	
	/**
	 * 导出数据
	 * @param pam
	 * @return
	 */
	XSSFWorkbook exportKeyWord(@RequestParam Map<String, Object> pam,HttpServletResponse response) throws Exception; 

	/**
	 * 导入
	 * @param fileName
	 * @param file
	 * @return
	 * @throws Exception
	 */
	ReturnBody importKeyWord(String fileName, MultipartFile file,String time) throws Exception;

	/**
	 * 获取厂商
	 * @return List<Map<String, Object>>
	 */
	List<Map<String, Object>> getVenderList();
	
	/**
	 * 获取手机引擎
	 * @return
	 */
	List<Map<String, Object>> getEngineList();
	
	/**
	 * 代理关键词列表
	 * @param pam
	 * @return
	 */
	List<Map<String, Object>> getKeyWordsEList(Map<String, Object> pam);
	/**
	 * 分组
	 * @param pam
	 * @return
	 */
	ReturnBody updateGroupById(Map<String, Object> pam);
	
	/**
	 *根据关键词id查询详情
	 * @param pam
	 * @return
	 */
	Map<String, Object> getInfoBykeywordId(Map<String, Object> pam);

	/**
	 * 修改最新排名
	 * @param pam
	 * @return
	 */
	ReturnBody updateNewRanking(Map<String, Object> pam);
	
	/**
	 * 修改昨日排名
	 * @param pam
	 * @return
	 */
	ReturnBody updateYesRanking(Map<String, Object> pam);
	
	/**
	 * 新站关键词回收站列表
	 * @param pam
	 * @return
	 */
	List<Map<String, Object>> getRecycleBinList(Map<String, Object> params);

	/**
	 * 恢复关键词
	 * @param pam
	 * @return
	 */
	int keyWordUpdate(Map<String, Object> pam);

	/**
	 * 删除关键词
	 * @param pam
	 * @return
	 */
	int deleteK(Map<String, Object> pam);

}

